23

» WarCraft 3 / Интерфейс 1.31+

Похожие вопросы:

ответ
А при попытке протестировать карту вот так:
Зайди в настройки редактора и сотри путь к тестовой карте.
NazarPunk:
Не только у вас такая проблема. Пока не вычислили из-за чего возникает.
Проблема в пути к тестовой карте, у 1.26 и 1.31.1 он отличается.
ответ
Сам задал, сам ответил.
call BlzFrameSetParent выручает ситуацию, т.е. устанавливаешь предка, который не скрыт(любой созданный через blzCreateFrame, и к нему вешаешь.
ответ
~8gabriel8:
На 1.31 не знаю, на 1.26 достаточно файлы в mpq заменить, либо новый архив создать с ними. Скоро Reforged выйдет, станет не до этих модификаций.

23

» WarCraft 3 / Триггер не отдает приказ всем юнитам

Похожие вопросы:

ответ
Проще добавить всех нужных юнитов в отряд и отдать приказ передвигаться в нужную точку (ссылаясь на отряд).
Добавить можно через выбор юнитов каким-либо способом.
Например все юниты в нужной области, с условием что они принадлежат игроку 7, и живые

23

» WarCraft 3 / Не могу открыть карту в обычном редакторе.

Похожие вопросы:

ответ
советую переименовать модель\заребутить комп
текстуры стандартные юзал, я так понимаю
ответ
Оба файла удаляются, потому что ты импортируешь их в карту через программу и не добавляешь данные о файлах в файл импорта(war3map.imp). При сохранении карты в редакторе архив пересобирается, и в него добавляются сторонние файлы, которые сохранены в том самом файле импорта. Поэтому используй стандартный менеджер импорта в редакторе.

23

» Администрация XGM / Карта сайта

Похожие вопросы:

ответ
Mrachny, на сайт, а не в вар...
раскрыть
А теперь смотри вниз этой картинки...
Кнопка "Добавить ресурс"
ответ
Neymar Rapsody, ты пока что сделай то что можно и в блоге сделать
скриншоты нормальные залей
ответ
Мы временно отказались от сторонних хостингов в txt2. Позднее уведомим о подключении новых. Старые хостинги поддерживаться, скорее всего, не будут из-за отсутствия поддержки https. Возможно, подключим dg-pic, но для этого требуются действия со стороны разработчика хостинга. Обратитесь к Doc за подробностями.
Помните, что в вышеуказанной справке изначально сообщалось, что использование таких хостингов не рекомендуется, а в страницах проектов вообще под запретом.

23

» WarCraft 3 / Добавление типа юнита в юнит групп.

Похожие вопросы:

ответ
глобальный массив не нужен. сохраняй группу в хэш-таблицу на хэндл героя, потом загружай ее когда надо. у каждого героя будет своя группа
вот пример, молот бурь съедает юнита а удар грома ставит всех юнитов обратно
ответ
Вы хотя бы BJ разворачивали.
local unit q                       			  //Юнит, который добавляется в группу
local unit w = GetTriggerUnit()      //Юнит, который триггерит триггер
local group g = CreateGroup()                      			  //Группа, в которую все юниты входят
local integer j = GetHandleId(w)    //Узнаём ID юнита, который триггерит триггер

set q = CreateUnit(GetOwningPlayer(w), 'h00C', GetUnitX(w), GetUnitY(w), bj_UNIT_FACING)
GroupAddUnit(g, q)

// дальше сами...

23

» WarCraft 3 / Общее здание

Похожие вопросы:

ответ
решил проблему костылём - дал возможность рабочему строить только башню - шаблонку, которая в свою очередь может улучшаться в две указанные башни. Взаимосвязь поставить только от башни - шаблонки. Лимит поставил на башню шаблонки.
Но тема не закрыта. Хотелось бы узнать можно ли решить проблему без костылей.
ответ
Триггерно прописать. Юнит умирает. Условие: убивающий юнит равно герой и равно игрок12. Умирающий юнит равно здание. Действие дать золото.
ответ
Steal nerves:
AgaraSatan, так и думал.
там нужно не тип "исследуемый юнит", там другая переменная "переключаемый юнит (англ. triggering unit)". Исследуемый юнит - работает при событии юнит изучает/исследует. у тебя условие просто не прокатывает. делай дебаги

23

» WarCraft 3 / Анимация юнита

Похожие вопросы:

ответ
Suite, вот только придётся каждый раз вручную юзать этот спелл
SсRealm, ты вопрос прочти прежде чем писать всякий бред
нормальным способом момент добычи отловить нельзя
недавно кидали костыль позволяющий отловить удар по дереву но он тут не особо поможет
ибо анимации будут перебивать друг друга
в общем как и сказал Suite меняй это в самой модели
ответ
Переименуй анимацию в модели в например Stand Alternate и 1) и добавляй соответствующий тег или 2) проигрывай анимацию по индексу.
ответ
странно, но в любом случае, я снова дал не ту, эта именно обновляет скин - мороз, оживление, вот это всё пересчитывает. Вот функция смены модели:

function ChangeUnitModelTo takes unit u, string modelpath returns nothing
	local integer a
	local integer s
	set LastConvertedHandle=ConvertHandle(u)
	if LastConvertedHandle>0 then
		set a=RMem(LastConvertedHandle)+0x88
		if a>0 then
			set a=RMem(a)
			if a>0 then
				set s=GetStringAddress(modelpath)
				call CallThisCallWith3Args(a,LastConvertedHandle,s,1)
			endif
		endif
	endif
endfunction
ответ
Короткий ответ, нет. Такой функции не предусмотрено.
В своих роликах я решил это так. Начинаю проигрывать анимацию по индексу на максимальной скорости. С помощью таймера через отрезок времени продолжаю проигрывать анимацию уже на нормальной скорости. Зная анимацию можно посчитать сколько времени нужно указать таймеру чтобы анимация достигла нужного места. Таким образом игроку будет казаться что анимация проигрывается с какого-то места.
Другой способ это изменить модель. Создать новую анимацию и скопировать или переиспользовать кадры.

23

» WarCraft 3 / Карта в ворлде не открывается

Похожие вопросы:

ответ
Это твой антивирусник украл, в карантин
Но да, мне тоже кажется, что это тупо реклама своей карты
С компа ничего не может пропасть просто так. Либо антивирус удалил, либо какой-то вирус перенес её в самую задницу твоих файлов на компе. Если бы карта была удалена, то она бы оказалась в корзине, если конечно она у тебя не весит 3-4 гига, чтобы удалить безвозвратно.
А так, обычно антивирусник уносит в карантин и там их держит

23

» Администрация XGM / Реклама

Похожие вопросы:

ответ
Ссылки на radikal запрещены. ipicture тоже загибается, так что используйте наш хостинг или imageshack
ответ
Спасибо за предложение, уберём.
ответ
Почему бы не добавить поддержку картинок с imgur.com? Есть вообще такая возможность?
Нет, и не будет
ответ
Скорее всего бага в хроме... лично такой проблемы не наблюдаю. Да яндекс засылает разные запросы, для отслеживания длительности сессии. Это нам помогает для планирования нового UX. Попробуй сбросить кеш.
ответ
Должно быть

23

» WarCraft 3 / Озвучка и текст

Похожие вопросы:

ответ
Тема закрыта.
Выбери ответ.
ответ
Adobe Audition для работы со звуком.
Cubase или FL studio для обработки тоже подойдут, там тысячи плагинов накачать можно чтобы звук обрабатывать.
Но если ты ищешь кнопку "Сделать офигенно" - то такого нет.

23

» WarCraft 3 / У меня очередной вопрос

Похожие вопросы:

ответ
Артас Менетил:
Ну нет. Не всегда удобно ковыряться в чужих картах. Объясню на пальцах.
Есть категория действий "Буфер игры". Вот что в ней есть:
  1. Create game cache - создать кэш с указанным именем. Если в двух разных картах создать кэши с одними и теми же именами, то кэш будет общим - можно переносить информацию с одной карты на другую.
  2. Save unit/integer/real/boolean/string - сохраняет переменную (если юнит, то все его параметры) в кэш.
  3. Save cache. После записи чего-ибо в кэш его следует сохранить
  4. Load unit - загружает юнита из кэша и создаёт его на карте.
Чтобы загрузить из кэша переменную, это следует делать при помощи функций этого типа.
ответ
>> IssueInstantTargetOrder: The only use of this function is to make units give items from their inventory to other units. The order in this case would be smart, the target widget is the item and the instant target widget is the target unit. The ordered unit will then move towards the target unit and hand the item over.
>>These natives have terribly confusing names, but I've heard that they are for manipulating items. I.e. Give this item (one widget argument) to this unit (another widget argument) or drop it at this point. I don't know which argument is the item and which is the target unit though.
гугл помог, а память подвела, покупка через Neutral* приказы делается
ответ
~8gabriel8:
Что за RotD?
Как я понял, смена оружия не является способностью героя, а просто способность воина, как скрытие в тени у Тиренд. У меня пока нет времени подготовить триггер, да даже посмотреть на файл FrigatPlay времени нет, но лучше у него посмотри, как он и предложил.

23

» WarCraft 3 / Текстуры склонов

Похожие вопросы:

ответ
Сначала, Хоффман, думал обозвать тебя лентяем, но потом не удивился, почему ты ничего не нашел !!!
Близзарди засунули ети текстуры очень глубоко:
в архиве War3x.mpq есть архивы с названиями в виде букв английского алфавита, так вот твои заветние текстуры ето Cliff0.blp и Cliff1.blp в архиве Z.mpq.
Итого: War3x.mpq / Z.mpq / ReplaceableTextures / Cliff / Cliff0.blp
War3x.mpq / Z.mpq / ReplaceableTextures / Cliff / Cliff1.blp
ответ
Как вариант - попытаться в одной текстуре клиффов попробовать разместить сразу два визуальных решения.
Текстуры клиффов находятся в mpq архиве по адресу ReplaceableTextures\Cliff\
Текстура клиффов
A. рандумные поверхности клиффов
B. тайлинг прямых граней, верхушка клиффа
C. тайлинг прямых граней, низ клиффа
D. угловые тайлы, выбирается 1 рандумный
E. угловые тайлы, низ клиффа
F. применяютя у мостов и подъёмников
Каждому клиффсету принадлежит два файла:
Угловатые клифы ReplaceableTextures\Cliff\Cliff0.blp
Прямые клифы ReplaceableTextures\Cliff\Cliff1.blp
Вроде всё правильно написал, если не прав поправьте.
ответ
Решение: перерисовать клиф, обновить в формат blp. залить в карту.
ответ
В файле war3x.mpq есть несколько маленьких mpq для каждого тайлсета. Конкретно текстуры Короны лежат в i.mpq

23

» WarCraft 3 / Не открывается карта

Похожие вопросы:

ответ
Я не уверен, но возможно функция DestroyTrigger есть в JNGP 5d exp.2, но нет в JNGP твоего друга? Пусть он попробует открыть карту в JNGP 5d exp.2.
ответ
Варианта два - допротектили карту либо у тебя преаддоненый варик. Чаще встречается первое.
ответ
во первых: не надо дублировать вопросы
во вторых: у меня твоя карта открывается
правда я не настолько сумасшедший чтобы юзать вин10
в третьих: размер мапы большой и может тупо не хватать памяти (особенно если юзаешь вин10)
советую попробовать переустановить jngp
если не поможет то сменить винду
ответ
Steal nerves:
JNGP снимает ограничения (например максимум декорации 20к), если обычным редактором открыть критует. В jngp есть новые гуишные функции, которых нет в обычном, стандартный редактор их не распознает. Юзайте поиск, такой вопрос уже задавали
можно вместо новых триггерных команд юзать нативки. Писать например через Custom Script или вообще на jass

23

» WarCraft 3 / Еще кое что...

Похожие вопросы:

ответ
cJass, vJass и Jass2 - разные концы одной палки. Но после освоения структур, которые есть в vJass и освоения синтаксиса cJass ты вполне сможешь быстро освоить любой язык C-семейства.
  1. mpq
ответ
Скачиваешь этот файл: xgm.guru/files/100/179980/comments/336580/War3Patch.txt
Далее открываешь архив War3Patch.mpq в редакторе mpq (например Ladik's MPQ Editor) и используешь файл в качестве listfile.
Модель будет лежать по этому пути: Units\Creeps\HeroTinker\HeroTinker.mdx
ответ
Перед созданием юнитов записать в переменную случайное число, а после - сделать проверку через If / Then / Else. Если (переменная) = 1, то дать каждому юниту в playarena[integer B] нужный предмет.
ответ
Steal nerves:
Тестил, тестил. Думал найду ошибку. Короче не знаю в чем дело, видимо и в правду баг. Решил по-другому. Ловить поставку, и ловить продажу. То есть ловить то, что пришло, и то, что ушло.
событием - "юнит закладывает в лавку" (EVENT_PLAYER_UNIT_PAWN_ITEM) ловим продажу итемов.
GetSellingUnit() =продающий торговец (типа всякие предметы закладывает в магазин и получает деньги)
GetBuyingUnit()=GetTriggerUnit() = покупающий торговец (это обычно магазин)

событием - "юнит закладывает из лавки (продает артефакт)" (EVENT_PLAYER_UNIT_SELL_ITEM) ловим покупку итемов
GetSellingUnit()=GetTriggerUnit()=продающий торговец (обычно это магазин)
GetBuyingUnit() = покупающий торговец (наш герой получает артефакты)
Решил, я по-своему. Короче, видимо, итем в магазине исчезает при добавлении. Попробовал запоминать все добавленные итемы, и при добавлении я сначала удалю всё в магазине, а потом заново добавлю. Пришлось, еще порядок (номер слотов) запоминать, а то строятся ключи хэша на строгом порядке. Если возьму и заберу итем посередине, придется заново выстраивать порядок.
Не знаю, пока тестил много времени, пока без косяков. Главное, что работает. Меня это радует. Но пока не буду спешить. Мне бы хотелось затестить норм.
ответ
~8gabriel8:
Надо было бы карту приложить, чтобы другие с патчем 1.31 могли проверить, будет ли у них запускаться.

23

» WarCraft 3 / Мне нужна помощь с 1 скилом.

Похожие вопросы:

ответ
Функция называется MakeAbilityPermanent в JASS, если есть JNGP, то в ГУИ найдёте
ответ
Ты так описал, что я тоже запутался. Но реализовать это можно только заменой скиллов. Чтобы душа не терялась, нужно хранить её в отдельной переменной (или в Custom Value юнита, например) и в зависимости от значения переменной ставить нужную версию скилла.
ответ
~8gabriel8:
Заинтересовался и решил попробовать сделать. Для скорости взял Торнадо (замедление), где поставил вместо отрицательного модификатора положительный, а для восстановления здоровья ауру фонтана жизни. Сделал три триггера для способности, плюс триггер на случайное движение войск:
  • Инициализации триггер при изучении способности добавляет герою ауру замедления, которая на самом деле ускоряет, просто поленился менять описание. Этот триггер надо отключить после использования, добавив действие Turn off (This trigger);
  • Первый триггер должен был убирать ауру замедления и давать ауру восстановления, но у меня никак не получалось указать правильное событие для способности, срабатывали одновременно и первый, и второй триггеры. Тогда я поставил в событие приказ без указания цели, указал в условии immolation, всё стало нормально функционировать;
  • Второй триггер наоборот убирает ауру замедления и даёт ауру восстановления при приказе unimmolation.
Кроме того, что эта способность является приказом, интересно и то, что аура восстановления не действовала, если её просто скопировать в нестандартные способности, ничего не изменив, а аура замедления не действовала, если изменить её радиус действия с 600 до 900.
P. S. Там ещё триггер надо сделать, когда у героя мана заканчивается для применения способности, так как аура восстановления не пропадает, а аура замедления не появляется.

23

» WarCraft 3 / Свечение героя

Похожие вопросы:

ответ
Загрузилось наконец. Посмотрел. Это "крепление ориджин" косячит.
Исправил.
Хозяин Миров, годится?
В положительном случае выбери ответ на вопрос.
ответ
Открываешь героя в Mdlvis, выделяешь свечение, копируешь его, затем не закрывая модель, открываешь в этом же окне модель здания, будет вопрос хотите открыть новую модель? Ответ да. В открывшейся модели выбираешь точку любой поверхности с тимколором, и нажимаешь специальная вставка, вуаля, готово.
ответ
ssbbssc:
пересоздать архив кампании\импортировать в каждую карту отдельно
Попробую, а под пересоздать что имеется ввиду?
Помогло вот что, триггерное добавление абилки "свечения"
Я ставил сначало импорт атача в каждую карту кампании, по отдельности в сражении все работало
но, при переходе по кампаниям именно эта способность "свечения "отказывалась крепиться герою, а все остальные скиллы без проблем работают
Меня это достало и я просто давал скилл при вывозе юнита с кэша в переходе между картами, и все работает, тьфу тьфу)
ответ
В мдливсе каждую глоу плашку крепишь к своей кости. В свойствах кости ставишь галочку "синфазность" (или билборд в War3ModelEditor'e ).
ответ
Можно через пассивную способность без иконки сделать на основе Atol в самой игре.

23

» WarCraft 3 / Интерфейсы

Похожие вопросы:

ответ
Вот я тоже интересовался этим, но у меня проблема наоборот в отображении нужных элементов. Когда скрываешь основной интерфейс, исчезает все! Остается лишь панель управления, если применить :
call BlzHideOriginFrames(true)
call BlzFrameSetAllPoints(BlzGetOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0),BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0))
Если же добавить ко всему этому еще и
call BlzFrameSetAllPoints(BlzGetFrameByName("ConsoleUI",0),BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0))
То исчезает и панель управления
После всего этого пытался отобразить кнопки Меню, Логи, Союзники и Задания по отдельности с помощью
set ppp=BlzGetOriginFrame(ORIGIN_FRAME_SYSTEM_BUTTON,0)
call BlzFrameSetVisible(ppp,true)
Но оно не отображало...затем попробовал
set ppp=BlzGetFrameByName("UpperButtonBarMenuButton",0)
call BlzFrameSetVisible(ppp,true)
И оно отобразило все четыре элемента меню, но мне это не надо...
Почему нельзя просто убрать все эти противные рамочки-картиночки и оставить/удалить/переместить все как надо, почему опять все через одно место...
Либо я дурак, либо это все кривое...Уже 2 день сижу и пытаюсь сделать одно и то же и все через одно место, то одно то другое...короче я х3
ответ
~8gabriel8:
Скачай какой-нибудь нестандартный интерфейс, там указаны пути импортирования файлов. Причём указаны для замены у определённой расы - human, orc, undead, nightelf.
Если же хочешь свой создать, то с помощью соответствующих графических программ сохрани эти blp, как png, внеси изменения, потом опять сохрани в blp.
ответ
Сам задал, сам ответил.
call BlzFrameSetParent выручает ситуацию, т.е. устанавливаешь предка, который не скрыт(любой созданный через blzCreateFrame, и к нему вешаешь.
ответ
~8gabriel8:
На 1.31 не знаю, на 1.26 достаточно файлы в mpq заменить, либо новый архив создать с ними. Скоро Reforged выйдет, станет не до этих модификаций.

23

» WarCraft 3 / Что не так?

Похожие вопросы:

ответ
Да у тебя куча дыр, во-первых ты не запустил триггер 115 области lumber direction, и оно соответственно не реагирует на событие. Во-вторых перепроверь gold проверку условия на да или нет в той карте которую ты отправил стоит нет
А золото не движется потому что ты ожидание 0,5 сек поставил а область в милисекунде от изначальной то есть триггер не успевает запуститься
ответ
Viktor19:
Путь текстуры правильно указал?
да, сейчас вообще обратил внимание что текстуры идущие в комплекте не воспринимаются почему-то, а именно "Shield.blp".
Все равно проблема не решилась, вроде бы смог заменить текстуру, которую не видел но варик не воспринимает модель.
1
ответ
Afterdeath, скрин не могу, я с мобильного сейчас. Текстом напишу, по памяти.
Действия:
Pick every unit in playable map area and do multiple actions:
If picked unit belongs to ally of (Игрок 1) = да then (это союзник игрока 1).
Hide picked unit.
ответ
Roy Mustang:
Slork:
Поставь matching unit вместо picked unit.
ответ
Делай мвссив с индексом равным номеру игрока (чтоб не запутаться) При событии ставь условие на триггеринг игрока. Если триггенинг игрок = красный то перекидывай соотв. юнита по индексу. напр MyHero[1]. Используй if then else. Все вместится в 1 триггер с кол-вом событий равным кол-ву игроков.

23

» WarCraft 3 / Помощь в Депротекте карты

Похожие вопросы:

ответ
kittysatalyash:
8gabriel8, Ландшафт собственно не пострадал, просто размеры карт кардинально не совпадают и мне самому проще как-то не по человечески копировать ландшафт и декор, так что вот такие пироги
RiderOfBalance, Ок, я нашёл открытый дрп и скопировал от туда триггеры и заменил. Та открытая дрп работает, на своём я ещё не пробовал, но надеюсь что всё будет работать.
RiderOfBalance, я поставил триггеры с открытой соты, всё ещё не работает, так же я попробовал вообще удалить триггеры и так же всё ещё не работало. Следовательно, скорее всего триггеры тут не причём...
war3map.j:1: parse error
war3map.j:1: Statement outside of function
war3map.j:1: Statement outside of function
war3map.j:1: Statement outside of function
war3map.j:2: Statement outside of function
war3map.j:2: Statement outside of function
war3map.j:3: Statement outside of function
war3map.j:3: Statement outside of function
war3map.j:3: Statement outside of function
war3map.j:4: Statement outside of function
war3map.j:4: Statement outside of function
war3map.j:7: Undeclared variable cj_tmpgr_copy_nw509ert7
war3map.j:9: parse error
war3map.j:9: Statement outside of function
Ниже скриншот с начало .j кода.
Это лишь малая часть проблем, так же в коде есть переменные, чьи имена начинаются с цифр (что недопустимо во всех языках программирования, если мне не изменяет память).
Собственно потому, в .j миллиард ошибок, можешь приложить оригинал карты? Потому что версию, что ты загрузил имеет просто умертвлённый скрипт.

23

» WarCraft 3 / Не находится игра

Похожие вопросы:

ответ
Ну вот собственно сама карта, я проверял - запускал - всё работает.
ответ
писать прогу которая будет перехватывать события клавиатуры и отсылать команды вар3 (проще всего события клика мышкой)
для этого тебе нужно знать какой нибудь прикладной яп
и понимать как работают процессы/устройства ввода
но подобные вопросы не относятся к мапмейкерству вар3
ответ
Поскольку его не пугает наличие большого влияния промахов на геймплей - скорее всего он делает рпг. Имхо в рпг всегда клево смотрятся тексттаги полученного урона, для создания которых необходимы триггеры на отлов получения урона. А отлавливаемый урон - можно и прохилить.
Для прохила(и вообще всех манипуляций с задержкой в 0.00 сек) лично я юзаю такие костыли:
Либа здесь только для доп табуляции. Я за чистый жасс + дефайны.
library ZeroTimeEvent

    globals
        constant integer ZTEArraySize = 64//Even 32 is alot, 64 is too much! Exactly what I need!
        timer Zero//Used for 0. sec uses
        integer ZTECurrent = 0
        unit array ZTEUnits[ZTEArraySize]
        integer array ZTEIntegers[ZTEArraySize]
        real array ZTEReals[ZTEArraySize]
        trigger array ZTETriggers[ZTEArraySize]
    endglobals
    
    function ZeroTimeEvent takes nothing returns nothing
            loop
                set  ZTECurrent = ZTECurrent - 1
                call TriggerExecute( ZTETriggers[ZTECurrent] )
                exitwhen ZTECurrent < 1
            endloop
    endfunction
    
    #define ZTEAddUnit(u) = {
        set  ZTEUnits[ZTECurrent] = u
    }
    
    #define ZTEAddInteger(i) = {
        set  ZTEIntegers[ZTECurrent] = i
    }
    
    #define ZTEAddReal(r) = {
        set  ZTEReals[ZTECurrent] = r
    }
    
    #define ConfirmZTE(trig) = {
        set  ZTETriggers[ZTECurrent] = trig
        set  ZTECurrent = ZTECurrent + 1
        call TimerStart( Zero, ZeroTime, false, function ZeroTimeEvent )
    }
    
    
    
endlibrary
Пример использования
#define UnitRemoveForceAttack(u) = {
    call UnitAddAbility( u, 'Abun' )
    call UnitRemoveAbility( u, 'Abun' )
         ZTEAddUnit(u)
         ConfirmZTE(CheckIfUnitHasA002)
}
Минус такой системы в необходимости создавать триггер для каждого блока кода, т.к. массивы блоков кода запрещены
ответ
Я прямо через аудасити пишу в сингл тренировке, тупо, зато совсем нетрудно.
Вот тут еще есть прямо готовые саундсеты хотса (нужна рега). wcunderground.freeforums.org/soundsets-f37.html
По сабжу с архивом помочь не могу, не разбираюсь, но мб это пригодится.

23

» WarCraft 3 / Создание юнита после смерти

Похожие вопросы:

ответ
да, нужно, иначе будет накапливаться со временем и игра начнет тормозить
ответ
Группы юнитов + хэш или структуры. При касте спелла берешь кастера, берешь его ID, проверяешь не записана ли группа в какой-либо из ячеек. Если нет - создаешь группу и записываешь её в ячейку. При смерти юнита делаешь проверку не записана ли по его ID группа юнитов - если записана - удаляешь его и проверяешь количество юнитов в группе и если оно равно 0 - удаляешь группу. Естественно хэш тоже чистишь всюду где нужно.

Это звучит как "Сделайте мне пожалуйста систему формаций". Чтобы научить тебя как это сделать придётся потратить несколько десятков часов. И тут 2 варианта: либо ты будешь читать статьи и выучишь всё сам, либо обращайся к отдельным пользователям и проси о приватных, платных, уроках в частном порядке.
Вопрос вообще ни о чём. То, о чём ты спрашиваешь делается за 20-30 минут + несколько часов на всякие плюшки и дебаг (в худшем случае).
Конкретно тебе стоит почитать о Локальных переменных, Хэше или Структурах.
ответ
вариант №1 - не нулить переменные, оставляя утечки номеров хендлов. это безопасно, да, если знаешь, что делаешь.
№2 - ловить UNIT_DEATH и чистить за ним
ответ
Steal nerves:
ну это совсем. такие вопросы. вам надо изучить триггеры.
ну с другими характеристиками, вам тогда нужно пересоздать юнита.
событие - юнит умирает <=найдете
условие - твой тип (триггер юнит) равно "укажите свой" <= сравнение тип юнита type of unit
действие - создать юнита (игроку-владельцу (триггер юнит)), тип, позиция умирающего <= раздел боевая единица, самое первое действие CreateUnit
есть способности сумонов пауков, гидры (см. тема)
ответ
~8gabriel8:
Надо, конечно, взглянуть на триггеры в карте, но при спавне удалять нужно не только точки, но и группы, так как при спавне создаются не только юниты, но и группа для них (даже из одного юнита группы). Без утечек создание юнитов выглядит так:
вот код для custom script:
call DestroyGroup( GetLastCreatedGroup() )
call RemoveLocation( udg_P )
Если отдаёшь приказ группе юнитов отправиться в область, там тоже создаётся группа и точка, тоже нужны эти custom script. Но вообще сомнительно, что это вызывает дикие лаги через два часа. Наверное, есть какие-то события с малым периодом, что тоже плодят утечки, поэтому и надо триггеры в карте смотреть.

23

» WarCraft 3 / Проблема с ИИ

Похожие вопросы:

ответ
проблема в том что они создаются триггерно
посмотри содержимое бж функции которая даёт стартовых юнитов
там вроде должно быть решение
ответ
Я думаю что ошибка находится в аргументе. Покажите файл.
ответ
Всё я исправил проблему.Надо было просто поставить тригер выше создать начальных юнитов.
ответ
Не сов сем по теме, но близко - вот такое можно реализовать на новых функциях 1.31
Увы, полноценного инвентаря на аналогичных функциях пока не выкладывали в общий доступ, каждый пилит себе свою версию.
ответ
~8gabriel8:
Приложить файл кампании, чтобы посмотрели. И какая версия игры?

23

» Администрация XGM / Как удалить акк?

Похожие вопросы:

ответ
Без явных доказательств принадлежности этого аккаунта - никак. Есть есть, то просьба обратиться в личку или через форму обратной связи (с указание контактного почтового адреса)
ответ
Напиши в личку.
ответ
Roy Mustang:
Чтобы сменить ник нейм нужен 1 свободный поинт, который ты потратишь на эту функцию (поинты дают за каждый лвл)

23

» WarCraft 3 / 1 таймер много юнитов!

Похожие вопросы:

ответ
Audes, просто написать
angle-=180
ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
ответ
ClotPh:
Ige, т. е. как-то так (при инициализации)?
call Preload (war3mapImported\SingerOfDeath1.wav)
call Preload("war3mapImported\\SingerOfDeath1.wav")
ответ
Есть стандартная способность "Бродячий". Она задает рандомное движение всяким птицам, жабам и прочим нейтральным зверюшкам, которых в то же время можно убить. Я бы попробовал ее использовать, но не уверен, что она не только для пассивных юнитов.